package negocio;

import modelo.ItemRequisicao;
import modelo.Produto;
import modelo.Requisicao;
import dao.DaoException;
import dao.ItemRequisicaoDao;

public class GerenciadorItemRequisicao {
	public void cadastrarItemRequisicao(int codProduto, int numeroRequisicao, int quantidade, double valorInstantaneo) throws NegocioException{
		GerenciadorProduto gerenciadorProduto = new GerenciadorProduto();
		Produto produto = gerenciadorProduto.carregaProduto(codProduto);
		if( produto == null)
			throw new NegocioException("Problema com a persistencia do itemRequisicao: produto nao encontrado");
		
		GerenciadorRequisicao gerenciadorRequisicao = new GerenciadorRequisicao();
		Requisicao requisicao = gerenciadorRequisicao.carregaRequisicao(numeroRequisicao);
		if( requisicao == null)
			throw new NegocioException("Problema com a persistencia do itemRequisicao: requisicao nao encontrada");
		
		try {
			ItemRequisicao itemRequisicao = new ItemRequisicao();
			itemRequisicao.setProduto(produto);
			itemRequisicao.setRequisicao(requisicao);
			itemRequisicao.setQuantidade(quantidade);
			itemRequisicao.setValorInstantaneo(valorInstantaneo);
			
			ItemRequisicaoDao itemRequisicaoDao = new ItemRequisicaoDao();
			itemRequisicaoDao.inserir(itemRequisicao);
			itemRequisicaoDao.close();
		} catch (DaoException e) {
			e.printStackTrace();
			throw new NegocioException("Problema com a persistencia do itemRequisicao");
		}
		
		
		
	}

	public void removerItemRequisicao(int codProduto, int numeroRequisicao) throws NegocioException {
		try {
			ItemRequisicaoDao itemRequisicaoDao = new ItemRequisicaoDao();
			itemRequisicaoDao.remover(codProduto, numeroRequisicao);
			itemRequisicaoDao.close();
		} catch (DaoException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			throw new NegocioException("Problema com a persistência do itemRequisicao");
		}
	}
}
